package com.yang.yangmusic.service;

import com.yang.yangmusic.dto.UserCreateRequest;
import com.yang.yangmusic.dto.UserDto;
import com.yang.yangmusic.dto.UserUpdateRequest;
import com.yang.yangmusic.entity.User;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.security.core.userdetails.UserDetailsService;


import java.util.Arrays;
import java.util.List;

/**
 * @Auther:zhaoyangyang
 * @Date:2022/1/8-01-08-10:07
 * @Description:com.yang.yangmusic.service
 * @version:1.0
 */

public interface UserService extends UserDetailsService {

  UserDto create(UserCreateRequest userCreateRequest);

  @Override
  User loadUserByUsername(String username);

  UserDto get(String id);



  UserDto update(String id, UserUpdateRequest userUpdateRequest);

  void delete(String id);

  Page<UserDto> search(Pageable pageable);

}